14 research outputs found

    Execution history guided instruction prefetching

    Get PDF
    The increasing gap in performance between processors and main memory has made effective instructions prefetching techniques more important than ever. A major deficiency of existing prefetching methods is that most of them require an extra port to I-cache. A recent study by [19] shows that this factor alone explains why most modern microprocessors do not use such I-cache hardware-based I-cache prefetch schemes. The contribution of this paper is two-fold. First we present a method that does not require an extra port to I-cache

    VLIW Instruction Scheduling for Reduced Code Size

    No full text
    Code size is important to the cost of embedded systems. Although VLIW architectures are popular for embedded systems, they impose constraints on instruction placement that make it difficult to find a compact schedule. Existing VLIW instruction scheduling methods primarily target run-time but not code size. The usual approach has two components. First, methods such as trace scheduling provide a mechanism to correctly move instructions across basic blocks. Second, the instructions within a trace are scheduled, perhaps moving instructions across blocks. Because run-time is the only consideration, this approach increases code size by inserting compensation code. Methods such as superblocking increase the size even further by duplicating code. We present a compiler method for instruction scheduling that, for the first time, uses the power of across-block scheduling methods such as trace scheduling to reduce code size as well as run-time. For a certain class of VLIWs, we show that trace scheduling, previously synonymous with increased code size, can in fact reduce it. Our within-trace scheduler uses a cost-model driven, back-tracking approach. Starting with an optimal, exponential-time algorithm, branch-and-bound techniques and non-optimal heuristics reduce the compile time to within a factor of 2 of the original, on average. The code size for our benchmarks is reduced by 16.3% versus the best existing across-block scheduler, while being within 0.8% of its run-time, on a 6-wide VLIW. For a 3-wide VLIW, code size improves by 14.7%, with the same 0.8% run-time cost. Thus, the code size improvements are fairly stable across VLIW widths. We further explore the impact of our techniques on machines with predication support or small I-cache sizes. In the process, we present a novel predication analysis of general applicability. If predication is present, the code size improves to 16.6%. In addition, for machines with small I-caches, the reduced code size of our approach tends to yield better cache hit rates. We find that, although this effect is modest, the performance improvement more than offsets the run-time costs of our method. Therefore, on machines with small I-caches, our code size improvements are achievable at no run-time cost

    Adaptive Program Execution for Low Power in Superscalar Processors

    No full text
    Abstract- This paper proposes a novel technique for code optimization for low power based on a profile-driven methodology. Specifically, we show analytically that there is an optimal level of parallelism for energy consumption (which may not be necessarily the same as for performance) and we propose a compiler-assisted technique for code annotation that adaptively selects at run-time the optimal number of instructions to be executed in parallel as far as energy is concerned. As it is shown by the experimental results, significant savings can be obtained in both energy (up to 28%) and power consumption (up to 69%), at the expense of a decrease in performance. The techniques proposed in this paper can be used by an ACPI-compliant power manager either for prolonging system battery life or as passive cooling features in an efficient thermally managed system. 2

    Reducing code size in VLIW instruction scheduling

    No full text
    Code size is an important concern in embedded systems. VLIW architectures are popular for embedded systems, but often increase code size, by requiring NOPs to be inserted into the code to satisfy instruction placement constraints. Existing VLIW instruction schedulers target run-time but not code size. Indeed, current schedulers often increase code size, by generating compensation copies of instructions when moving them across basic block boundaries. Our approach, for the first time, uses the power of scheduling instructions across blocks to reduce code size and not just runtime, for a certain class of VLIWs. We therefore show that trace scheduling, previously synonymous with increased code size, can in fact be used to reduce code size on such VLIWs. Our scheduler uses a cost-model driven, back-tracking approach that starts with an optimal algorithm for searching the solution space in exponential time, but then also employs branch-and-bound techniques and nonoptimal heuristics to keep the compile time reasonable (within a factor of 2). Our method reduces the code size for our benchmarks by 16 % versus the best existing across-block scheduler, while being within 0.8 % of its run-time.

    Reckoning the Dearth of Bioinformatics in the Arena of Diabetic Nephropathy (DN)—Need to Improvise

    No full text
    Diabetic nephropathy (DN) is a recent rising concern amongst diabetics and diabetologist. Characterized by abnormal renal function and ending in total loss of kidney function, this is becoming a lurking danger for the ever increasing population of diabetics. This review touches upon the intensity of this complication and briefly reviews the role of bioinformatics in the area of diabetes. The advances made in the area of DN using proteomic approaches are presented. Compared to the enumerable inputs observed through the use of bioinformatics resources in the area of proteomics and even diabetes, the existing scenario of skeletal application of bioinformatics advances to DN is highlighted and the reasons behind this discussed. As this review highlights, almost none of the well-established tools that have brought breakthroughs in proteomic research have been applied into DN. Laborious, voluminous, cost expensive and time-consuming methodologies and advances in diagnostics and biomarker discovery promised through beckoning bioinformatics mechanistic approaches to improvise DN research and achieve breakthroughs. This review is expected to sensitize the researchers to fill in this gap, exploiting the available inputs from bioinformatics resources

    Insights into Bioinformatic Applications for Glycosylation: Instigating an Awakening towards Applying Glycoinformatic Resources for Cancer Diagnosis and Therapy

    No full text
    Glycosylation plays a crucial role in various diseases and their etiology. This has led to a clear understanding on the functions of carbohydrates in cell communication, which eventually will result in novel therapeutic approaches for treatment of various disease. Glycomics has now become one among the top ten technologies that will change the future. The direct implication of glycosylation as a hallmark of cancer and for cancer therapy is well established. As in proteomics, where bioinformatics tools have led to revolutionary achievements, bioinformatics resources for glycosylation have improved its practical implication. Bioinformatics tools, algorithms and databases are a mandatory requirement to manage and successfully analyze large amount of glycobiological data generated from glycosylation studies. This review consolidates all the available tools and their applications in glycosylation research. The achievements made through the use of bioinformatics into glycosylation studies are also presented. The importance of glycosylation in cancer diagnosis and therapy is discussed and the gap in the application of widely available glyco-informatic tools for cancer research is highlighted. This review is expected to bring an awakening amongst glyco-informaticians as well as cancer biologists to bridge this gap, to exploit the available glyco-informatic tools for cancer
    corecore